﻿using System;

namespace SharpSqlAnalyzer.nodes
{
	// Token: 0x0200028A RID: 650
	public class TColumnAttribute : TParseTreeNode
	{
		// Token: 0x170003D7 RID: 983
		// (get) Token: 0x060014E6 RID: 5350 RVA: 0x00325654 File Offset: 0x00323854
		// (set) Token: 0x060014E7 RID: 5351 RVA: 0x0032565C File Offset: 0x0032385C
		public virtual EColumnAttributeType ColumnAttributeType
		{
			get
			{
				return this._columnAttributeType;
			}
			set
			{
				this._columnAttributeType = value;
			}
		}

		// Token: 0x060014E8 RID: 5352 RVA: 0x00325665 File Offset: 0x00323865
		public override void init(object arg1)
		{
			this._columnAttributeType = (EColumnAttributeType)arg1;
		}

		// Token: 0x170003D8 RID: 984
		// (get) Token: 0x060014E9 RID: 5353 RVA: 0x00325673 File Offset: 0x00323873
		// (set) Token: 0x060014EA RID: 5354 RVA: 0x0032567B File Offset: 0x0032387B
		public virtual TExpression DefaultValue
		{
			get
			{
				return this._defaultValue;
			}
			set
			{
				this._defaultValue = value;
			}
		}

		// Token: 0x170003D9 RID: 985
		// (get) Token: 0x060014EB RID: 5355 RVA: 0x00325684 File Offset: 0x00323884
		// (set) Token: 0x060014EC RID: 5356 RVA: 0x0032568C File Offset: 0x0032388C
		public virtual string Encoding
		{
			get
			{
				return this._encoding;
			}
			set
			{
				this._encoding = value;
			}
		}

		// Token: 0x060014ED RID: 5357 RVA: 0x00325698 File Offset: 0x00323898
		public override void init(object arg1, object arg2)
		{
			this.init(arg1);
			EColumnAttributeType columnAttributeType = this._columnAttributeType;
			if (columnAttributeType == EColumnAttributeType.defaultValue)
			{
				this._defaultValue = (TExpression)arg2;
				return;
			}
			if (columnAttributeType != EColumnAttributeType.encode)
			{
				return;
			}
			this._encoding = ((TSourceToken)arg2).ToString();
		}

		// Token: 0x170003DA RID: 986
		// (get) Token: 0x060014EE RID: 5358 RVA: 0x003256D9 File Offset: 0x003238D9
		// (set) Token: 0x060014EF RID: 5359 RVA: 0x003256E1 File Offset: 0x003238E1
		public virtual TExpression Seed
		{
			get
			{
				return this._seed;
			}
			set
			{
				this._seed = value;
			}
		}

		// Token: 0x170003DB RID: 987
		// (get) Token: 0x060014F0 RID: 5360 RVA: 0x003256EA File Offset: 0x003238EA
		// (set) Token: 0x060014F1 RID: 5361 RVA: 0x003256F2 File Offset: 0x003238F2
		public virtual TExpression Step
		{
			get
			{
				return this._step;
			}
			set
			{
				this._step = value;
			}
		}

		// Token: 0x060014F2 RID: 5362 RVA: 0x003256FB File Offset: 0x003238FB
		public override void init(object arg1, object arg2, object arg3)
		{
			this.init(arg1);
			this._seed = (TExpression)arg2;
			this._step = (TExpression)arg3;
		}

		// Token: 0x04001708 RID: 5896
		private EColumnAttributeType _columnAttributeType;

		// Token: 0x04001709 RID: 5897
		private TExpression _defaultValue;

		// Token: 0x0400170A RID: 5898
		private string _encoding;

		// Token: 0x0400170B RID: 5899
		private TExpression _seed;

		// Token: 0x0400170C RID: 5900
		private TExpression _step;
	}
}
